package projeto.minhasatividades.cci;

import nucleo.global.ContextoSessao;
import nucleo.global.cci.IGerenciadorContexto;

import org.springframework.beans.factory.annotation.Autowired;
import org.zkoss.zk.ui.HtmlBasedComponent;

import plataforma.base.cci.CtrlBase;
import plataforma.base.cdp.ObjetoPagina;
import plataforma.base.cdp.ResultadoPaginado;
import plataforma.base.cih.IAtualizadorListagemPaginada;
import plataforma.spring.ControladorDefault;
import projeto.comercial.gerenciarservico.cdp.AlocacaoAtividade;
import projeto.configuracoes.preferencias.cdp.ConfiguracaoUsuario;
import projeto.minhasatividades.cgt.ServiceMinhasAtividades;
import projeto.minhasatividades.cih.ListagemMinhasAtividades;

@ControladorDefault
public class CtrlMinhasAtividades extends CtrlBase implements
		IGerenciadorContexto, IAtualizadorListagemPaginada {

	@Autowired
	ServiceMinhasAtividades service;

	ListagemMinhasAtividades listagem;

	@Override
	public void configurarComponentes() {
		// TODO Auto-generated method stub

	}

	public void iniciar() {
		// TODO Auto-generated method stub

	}

	public String getTitulo() {
		// TODO Auto-generated method stub
		return null;
	}

	public HtmlBasedComponent getConteudoPrincipal() {
		listagem = new ListagemMinhasAtividades() {

			@Override
			protected void configurarComponentesExtensao() {
				int qtLinhas = (Integer) ContextoSessao
						.getAtributoSessao(ConfiguracaoUsuario.LINHAS_PAGINA_MINHAS_ATIVIDADES);
				listBox.setRows(qtLinhas);
				paging.setPageSize(qtLinhas);
			}

		};
		listagem.setAtualizador(this);
		listagem.configurarComponentes();
		return listagem;
	}

	public void destruirContexto() {
		// TODO Auto-generated method stub

	}

	@Override
	public void atualizarListagem(ObjetoPagina pagina) {
		try {
			ResultadoPaginado<AlocacaoAtividade> resultado = service.recuperarTodosPaginado(pagina);
			listagem.setResultadoAtualizarPesquisa(resultado);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public void atualizarPesquisa() {
		 atualizarListagem(listagem.getPagina());

	}

}
